package org.huawei260.TiKu.ODsuanfa;

import java.util.Arrays;
import java.util.HashSet;
import java.util.LinkedList;
import java.util.Scanner;

/**
 *    小王在进行游戏大闯关，有一个关卡需要输入一个密码才能通过，密码获得的条件如下：在一个密码本中，每一页都有一个由 26 个小写字母组成的若干位密码，从它的末尾开始依次去掉一位得到的新密码也在密码本中存在。请输出符合要求的密码，如果由多个符合要求的密码，则返回字典序最大的密码。若没有符合要求的密码，则返回空字符串。
 *
 * @author Fql18
 */
public class A_2023A_2704__哈希集合寻找密码 {

//	public class Main {
		public static void main(String[] args) {
			Scanner sc = new Scanner(System.in);

			String[] arr = sc.nextLine().split(" ");
			System.out.println(getResult(arr));
		}

		public static String getResult(String[] arr) {
			Arrays.sort(arr, (a, b) -> a.length() != b.length() ? a.length() - b.length() : a.compareTo(b));

			LinkedList<String> link = new LinkedList<>(Arrays.asList(arr));
			HashSet<String> set = new HashSet<>(link);

			String ans = "";

			while (link.size() > 0) {
				String str = link.removeLast();
				int end = str.length() - 1;

				if(end == 0 && "".equals(ans)) {
					ans = str;
					continue;
				}

				while (set.contains(str.substring(0, end))) {
					if (end == 1) {
						return str;
					} else {
						end--;
					}
				}
			}

			return ans;
		}
	}